package com.xs.common.domain.entity;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xs.common.annotation.Excel;
import com.xs.common.core.domain.BaseEntity;

/**
 * 机票信息对象 tickets
 * 
 * @author
 * @date 2024-06-15
 */
public class Tickets extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 机票ID，主键，自增 */
    private Long ticketId;

    /** 航班ID */
    @Excel(name = "航班ID")
    private Long flightId;

    /** 出发日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出发日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date departureDate;

    /** 机票状态 */
    @Excel(name = "机票状态")
    private Long status;

    /** 座位类型 */
    @Excel(name = "座位类型")
    private Long seatType;

    /** 座位号 */
    @Excel(name = "座位号")
    private String seatNumber;

    /** 机票价格 */
    @Excel(name = "机票价格")
    private BigDecimal price;

    /** 退款费用 */
    @Excel(name = "退款费用")
    private BigDecimal refundFee;

    /** 改签费用 */
    @Excel(name = "改签费用")
    private BigDecimal changeFee;

    /** 乘客ID */
    @Excel(name = "乘客ID")
    private Long passengerId;

    /** 预订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bookingDate;

    public void setTicketId(Long ticketId) 
    {
        this.ticketId = ticketId;
    }

    public Long getTicketId() 
    {
        return ticketId;
    }
    public void setFlightId(Long flightId) 
    {
        this.flightId = flightId;
    }

    public Long getFlightId() 
    {
        return flightId;
    }
    public void setDepartureDate(Date departureDate) 
    {
        this.departureDate = departureDate;
    }

    public Date getDepartureDate() 
    {
        return departureDate;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setSeatType(Long seatType) 
    {
        this.seatType = seatType;
    }

    public Long getSeatType() 
    {
        return seatType;
    }
    public void setSeatNumber(String seatNumber) 
    {
        this.seatNumber = seatNumber;
    }

    public String getSeatNumber() 
    {
        return seatNumber;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setRefundFee(BigDecimal refundFee) 
    {
        this.refundFee = refundFee;
    }

    public BigDecimal getRefundFee() 
    {
        return refundFee;
    }
    public void setChangeFee(BigDecimal changeFee) 
    {
        this.changeFee = changeFee;
    }

    public BigDecimal getChangeFee() 
    {
        return changeFee;
    }
    public void setPassengerId(Long passengerId) 
    {
        this.passengerId = passengerId;
    }

    public Long getPassengerId() 
    {
        return passengerId;
    }
    public void setBookingDate(Date bookingDate) 
    {
        this.bookingDate = bookingDate;
    }

    public Date getBookingDate() 
    {
        return bookingDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ticketId", getTicketId())
            .append("flightId", getFlightId())
            .append("departureDate", getDepartureDate())
            .append("status", getStatus())
            .append("seatType", getSeatType())
            .append("seatNumber", getSeatNumber())
            .append("price", getPrice())
            .append("refundFee", getRefundFee())
            .append("changeFee", getChangeFee())
            .append("passengerId", getPassengerId())
            .append("bookingDate", getBookingDate())
            .toString();
    }
}
